#pragma once
#include "SceneManager.h"
#include "Quad.h"

namespace Graphics{
	class SMQuadTree : public SceneManager{
	public:
		SMQuadTree();
		~SMQuadTree();

		void render(RenderContext *context);
		unsigned int addEntity(EntityPtr entity);
		void removeEntity(unsigned int id);

		EntityPtr getEntity(unsigned int id);
	private:
		std::map<unsigned int, EntityPtr> m_entitys;
		QuadPtr m_searchTree;

		unsigned int m_entityId;
		float m_minQuadSize;
	};
}